# 高阶函数:接受一个或多个函数作为参数，或返回一个函数的函数
# 举例

def decorator(fn):
    def wrapper(*args, **kwargs):
        ret = fn(*args, **kwargs)
        return ret
    return wrapper

# 闭包：出现在嵌套函数中，指的是内层函数引用到了外层函数的自由变量，就形成了闭包
# 举例

def counter():
    count = 0
    def inc():
        nonlocal count
        count += 1
        return count
    return inc
